/*
  Matrix math for OpenGL

*/

#ifndef MY_MATRIX_C
#define MY_MATRIX_C

#include <stdio.h>

void printMatrix(float* m, int r, int c) {
  int size = r*c;
  int i=0;
  while(i<size) {
    if(i % c == 0)
      printf("\n");
    printf("%f ", m[i]);
    i++;
  };
  printf("\n");
};

void mulMatrix(float* a, float* b, float* r, int r1, int c1, int c2) {
  for(int i=0; i<r1; i++)
    for(int j=0; j<c2; j++) {
      float sum = 0;
      int rpos = i*c1;
      int cpos = j;
      for(int j=0; j<c1; j++) {
        sum += a[rpos]*b[cpos];
        rpos++;
        cpos += c2;
      };
      r[i*c2+j] = sum;
  };
};

#endif
